- environment = local_assigns.fetch(:environment, nil)
- diff_page_context = local_assigns.fetch(:diff_page_context, nil)
- file_hash = hexdigest(diff_file.file_path)
- image_diff = diff_file.rich_viewer && diff_file.rich_viewer.partial_name == 'image'
- image_replaced = diff_file.old_content_sha && diff_file.old_content_sha != diff_file.content_sha

.diff-file.file-holder{ id: file_hash, data: diff_file_html_data(project, diff_file.file_path, diff_file.content_sha) }
  .js-file-title.file-title-flex-parent{ class: diff_page_context }
    .file-header-content
      = render "projects/diffs/file_header", diff_file: diff_file, url: "##{file_hash}"

    - if diff_file.submodule?
      .file-actions.d-none.d-sm-block
        = submodule_diff_compare_link(diff_file)

    - unless diff_file.submodule?
      .file-actions.gl-display-none.gl-sm-display-flex
        #js-diff-stats{ data: diff_file_stats_data(diff_file) }
        - if diff_file.blob&.readable_text?
          %span.has-tooltip{ title: _("Toggle comments for this file") }
            = link_to '#', class: 'js-toggle-diff-comments btn gl-button btn-default btn-icon selected', disabled: @diff_notes_disabled do
              = sprite_icon('comment')
          \
          - if editable_diff?(diff_file)
            - link_opts = @merge_request.persisted? ? { from_merge_request_iid: @merge_request.iid } : {}
            = edit_blob_button(@merge_request.source_project, @merge_request.source_branch, diff_file.new_path,
                             blob: diff_file.blob, link_opts: link_opts)

        - if diff_file.has_renderable?
          .btn-group.gl-ml-3
            = diff_mode_swap_button('rendered', file_hash)
            = diff_mode_swap_button('raw', file_hash)

        - if image_diff && image_replaced
          = view_file_button(diff_file.old_content_sha, diff_file.old_path, project, replaced: true)

        = view_file_button(diff_file.content_sha, diff_file.file_path, project)
        = view_on_environment_button(diff_file.content_sha, diff_file.file_path, environment) if environment

  = render_fork_suggestion

  = render 'projects/diffs/content', diff_file: diff_file
